package com.vhall.component.entity.account;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * @author dongsong
 */
@Data
@TableName("menues")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "MenuesEntity对象", description = "菜单表")
public class MenuesEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @JsonProperty("menu_id")
    @TableId(value = "menu_id", type = IdType.AUTO)
    private Integer menuId;

    @ApiModelProperty(value = "菜单名称")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "菜单链接")
    @TableField("url")
    private String url;

    @ApiModelProperty(value = "父ID")
    @TableField("pid")
    private Integer pid;

    @ApiModelProperty(value = "排序")
    @TableField("sort")
    private Byte sort;

    @ApiModelProperty(value = "修改时间")
    @JsonProperty("updated_at")
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "创建时间")
    @JsonProperty("created_at")
    @TableField("created_at")
    private LocalDateTime createdAt;

    @JsonProperty("deleted_at")
    @TableField("deleted_at")
    private LocalDateTime deletedAt;

    @TableField("type")
    @ApiModelProperty(value = "类型1-admin操作，2-控制台操作")
    private Byte type;

    @TableField("status")
    @ApiModelProperty(value = "状态:1-正常，2-禁用，-1-删除")
    private Byte status;
}
